﻿using System;
namespace Producers.Kis.Xtee.Riik.Ee.Producer.Kis {
    
    
    public partial class ObligorData : global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligorData {
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligor @__obligor;
        
        private global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligorDescription @__obligorDescription;
        
        private System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligorRepresentativeData> @__obligorRepresentativeData = new System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligorRepresentativeData>();
        
        private System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress> @__address = new System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress>();
        
        private System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation> @__contactInformation = new System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation>();
        
        public ObligorData() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public ObligorData(global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligor @obligor, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligorDescription @obligorDescription, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligorRepresentativeData> @obligorRepresentativeData, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress> @address, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation> @contactInformation) {
            this.@__obligor = @obligor;
            this.@__obligorDescription = @obligorDescription;
            this.@__obligorRepresentativeData = @obligorRepresentativeData;
            this.@__address = @address;
            this.@__contactInformation = @contactInformation;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public ObligorData(global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligor @obligor, global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligorDescription @obligorDescription, System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress> @address) {
            this.@__obligor = @obligor;
            this.@__obligorDescription = @obligorDescription;
            this.@__address = @address;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected ObligorData(IObligorData @obligorData) {
            this.@__obligor = @obligorData.Obligor;
            this.@__obligorDescription = @obligorData.ObligorDescription;
            this.@__obligorRepresentativeData = @obligorData.ObligorRepresentativeData;
            this.@__address = @obligorData.Address;
            this.@__contactInformation = @obligorData.ContactInformation;
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligor Obligor {
            get {
                return this.@__obligor;
            }
            set {
                this.@__obligor = value;
            }
        }
        
        public virtual global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligorDescription ObligorDescription {
            get {
                return this.@__obligorDescription;
            }
            set {
                this.@__obligorDescription = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IObligorRepresentativeData> ObligorRepresentativeData {
            get {
                return this.@__obligorRepresentativeData;
            }
            set {
                this.@__obligorRepresentativeData = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IAddress> Address {
            get {
                return this.@__address;
            }
            set {
                this.@__address = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Producers.Kis.Xtee.Riik.Ee.Producer.Kis.IContactInformation> ContactInformation {
            get {
                return this.@__contactInformation;
            }
            set {
                this.@__contactInformation = value;
            }
        }
    }
}
